303. Range Sum Query - Immutable
思路分析
代码实现
class NumArray {
int[] PreSum;
public NumArray(int[] nums) {
int n=nums.length;
PreSum = new int[n];
PreSum[0]=nums[0];
for(int i=1;i<n;i++){
PreSum[i]=PreSum[i-1]+nums[i];
}
}
public int sumRange(int left, int right) {
if(left == 0) return PreSum[right];
return PreSum[right]-PreSum[left-1];
}
}
class NumArray {
int[] PreSum;
public NumArray(int[] nums) {
PreSum = nums;
for(int i=1;i<PreSum.length;i++){
PreSum[i]+=PreSum[i-1];
}
}
public int sumRange(int left, int right) {
if(left == 0) return PreSum[right];
return PreSum[right]-PreSum[left-1];
}
}
class NumArray {
int[] PreSum;
public NumArray(int[] nums) {
int n=nums.length;
PreSum = new int[n+1];
for(int i=1;i<=n;i++){
PreSum[i]=PreSum[i-1]+nums[i-1];
}
}
public int sumRange(int left, int right) {
return PreSum[right+1]-PreSum[left];
}
}
同类题型
视频讲解
💬 评论